package com.ruoyi.system.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 督查历史记录对象 sys_supervise_history
 * 
 * @author ruoyi
 * @date 2025-08-31
 */
@Data
public class SysSuperviseHistory extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 历史记录ID */
    private Long historyId;

    /** 计划ID，关联督查计划表 */
    @Excel(name = "计划ID，关联督查计划表")
    private Long planId;

    /** 督察单位 */
    @Excel(name = "督察单位")
    private String superviseUnit;

    /** 受检单位 */
    @Excel(name = "受检单位")
    private String inspectedUnit;

    /** 编号 */
    @Excel(name = "编号")
    private String serialNumber;

    /** 督查地点 */
    @Excel(name = "督查地点")
    private String superviseLocation;

    /** 督察时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "督察时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date superviseTime;

    /** 基本情况 */
    @Excel(name = "基本情况")
    private String basicSituation;

    /** 整改要求 */
    @Excel(name = "整改要求")
    private String rectificationRequirements;

    private List<SysProblemNotice> problemNoticeList;
    public void setHistoryId(Long historyId) 
    {
        this.historyId = historyId;
    }

    public Long getHistoryId() 
    {
        return historyId;
    }

    public void setPlanId(Long planId) 
    {
        this.planId = planId;
    }

    public Long getPlanId() 
    {
        return planId;
    }

    public void setSuperviseUnit(String superviseUnit) 
    {
        this.superviseUnit = superviseUnit;
    }

    public String getSuperviseUnit() 
    {
        return superviseUnit;
    }

    public void setInspectedUnit(String inspectedUnit) 
    {
        this.inspectedUnit = inspectedUnit;
    }

    public String getInspectedUnit() 
    {
        return inspectedUnit;
    }

    public void setSerialNumber(String serialNumber) 
    {
        this.serialNumber = serialNumber;
    }

    public String getSerialNumber() 
    {
        return serialNumber;
    }

    public void setSuperviseLocation(String superviseLocation) 
    {
        this.superviseLocation = superviseLocation;
    }

    public String getSuperviseLocation() 
    {
        return superviseLocation;
    }

    public void setSuperviseTime(Date superviseTime) 
    {
        this.superviseTime = superviseTime;
    }

    public Date getSuperviseTime() 
    {
        return superviseTime;
    }

    public void setBasicSituation(String basicSituation) 
    {
        this.basicSituation = basicSituation;
    }

    public String getBasicSituation() 
    {
        return basicSituation;
    }

    public void setRectificationRequirements(String rectificationRequirements) 
    {
        this.rectificationRequirements = rectificationRequirements;
    }

    public String getRectificationRequirements() 
    {
        return rectificationRequirements;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("historyId", getHistoryId())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("planId", getPlanId())
            .append("superviseUnit", getSuperviseUnit())
            .append("inspectedUnit", getInspectedUnit())
            .append("serialNumber", getSerialNumber())
            .append("superviseLocation", getSuperviseLocation())
            .append("superviseTime", getSuperviseTime())
            .append("basicSituation", getBasicSituation())
            .append("rectificationRequirements", getRectificationRequirements())
            .toString();
    }
}
